There are control units which are adapted for use in vehicles and which control fuel injection, ignition timing and the like using a microcomputer. In such control units, when a failure occurs, it is difficult to promptly find out the location of the failure; therefore, the failure is detected using the microcomputer.
FIG. 1 is a diagram showing a conventional example of a failure detecting apparatus of a control unit used in a vehicle.
Hitherto, in such a failure detecting apparatus, currents are respectively supplied to a plurality of solenoids S.sub.i (i=1 to n), and outputs therefrom are fed back to a control unit 1 in the running range of the vehicle in which these solenoids operate, and a failure of the solenoids can be detected in dependence on the presence or absence of the outputs of the solenoids.
However, in such a failure detecting apparatus, when the vehicle is in a predetermined running state, the solenoid corresponding to this running state is checked. Therefore, in a case where the vehicle runs in only a running range where this solenoid doesn't operate, or in a case where it takes a considerably long time until the vehicle enters the running state in which such solenoid can operate, there is the problem that the failure of this solenoid cannot be detected.
When detection of the failure of a solenoid is delayed, or when the failure cannot be detected, the control of exhaust gas components, fuel consumption, and drivability may deteriorate. Further, the braking system and steering system can fail, and there is also a possibility of the occurrence of a serious accident.
There is also a failure detecting apparatus in which the solenoids are checked in parallel. However, in this apparatus, plural I/O ports of the control unit are needed to input checking signals, as a result of which there is a problem because the degree of freedom in design is limited.